home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #100 (1990-12)(Amiga User Group Deutschland e.V.).zip / Franz PD Disk #100 (1990-12)(Amiga User Group Deutschland e.V.).adf / DisKey2.1 / Map.README < prev    next >
Text File  |  1989-07-03  |  8KB  |  229 lines

  1.  
  2.  
  3.                           map.device und Dummy-Handler
  4.                           ############################
  5.  
  6.                              Version 1.0 (10.10.90)
  7.                                       von
  8.  
  9.                                Bernhard Möllemann
  10.                                 Spöcker Weg 23c
  11.                                 7514 Eggenstein
  12.  
  13.                      E-Mail: s_moellemann@iravcl.ira.uka.de
  14.  
  15.  
  16.  
  17.  
  18. I. Disclaimer:
  19. ==============
  20.  
  21. Das  map.device  und  der  Dummy-Handler  sind  Freeware und dürfen nur für
  22. nicht-gewerbliche  Zwecke frei kopiert und benutzt werden, solange folgende
  23. Bestimmungen eingehalten werden:
  24.  
  25. 1. map.device   und   Dummy-Handler   dürfen   nur   zusammen   mit  diesem
  26.    Dokumentationsfile verbreitet werden.
  27.  
  28. 2. Das   Dokumentationsfile   darf   nur  auf  elektronischen  Datenträgern
  29.    (Diskette   usw.)   und   nur   zusammen  mit  dem  map.device  und  dem
  30.    Dummy-Handler verbreitet werden.
  31.  
  32. 3. Der Preis für die Weitergabe darf die Kopierkosten nicht übersteigen.
  33.  
  34.  
  35.  
  36. II. Anleitung:
  37. ==============
  38.  
  39. Das  map.device erlaubt in Verbindung mit dem Dummy-Handler die Bearbeitung
  40. des  Speichers von einem Diskettenmonitor aus, der verschiedene Devices wie
  41. Festplatte oder resetfeste Ramdisk bearbeiten kann.
  42.  
  43. Das  map.device  kann  auch  als Ramdisk verwendet werden, indem man es auf
  44. einen dem System unbekannten Speicherbereich legt.
  45.  
  46.  
  47. 1. Die Installation:
  48. --------------------
  49.  
  50. Wie   alle  diskresidenten  Devices  (printer.device  usw.)  muß  auch  das
  51. map.device in den Devs:-Ordner kopiert werden:
  52.  
  53. 1> copy map.device Devs:
  54.  
  55. Um  als Diskette erkannt zu werden, benötigt das System einen File-Handler,
  56. den Dummy-Handler.  Dieser muß nach L:  kopiert werden:
  57.  
  58. 1> copy Dummy-Handler L:
  59.  
  60. Damit  AmigaDOS  mit dieser "Diskette" arbeiten kann, muß diese gemounted
  61. werden:
  62.  
  63. 1> mount MAP: FROM MapMountList
  64.  
  65. Natürlich   kann   man   die   MountList   an  seine  eigene  MountList  im
  66. Devs:-Verzeichnis  anhängen und dann mit "mount MAP:" mounten.  Nur wer das
  67. nicht  möchte,  muß  den "FROM"-Parameter mit angeben (Achtung, erst ab dem
  68. 1.3 Mount-Befehl!).
  69.  
  70.  
  71. 2. Der MountList-Eintrag:
  72. -------------------------
  73.  
  74. MAP:    FileSystem      = L:Dummy-Handler
  75.         Device          = map.device
  76.         Unit            = 0
  77.         Flags           = 0
  78.         Surfaces        = 1
  79.         BlocksPerTrack  = 128
  80.         Priority        = 7
  81.         Reserved        = 2
  82.         Interleave      = 0
  83.         LowCyl          = 0
  84.         HighCyl         = 255
  85.         Buffers         = 1
  86.         BufMemType      = 1
  87.         Mount           = 1
  88.         GlobVec         = -1
  89.         StackSize       = 512
  90. #
  91.  
  92.  
  93. FileSystem:
  94.    Damit das AmigaDOS nicht auf die Idee kommt, irgendetwas im Speicher des
  95.    Amiga  zu  ändern  (z.  B.  ihn zu validaten), muß ein Handler angegeben
  96.    werden, der garantiert nichts anstellt.
  97.  
  98. Device:
  99.    Hier muß natürlich der Devicename angegeben werden.
  100.  
  101. Unit:
  102.    Hier sollte eine "0" stehen.
  103.  
  104. Flags:
  105.    Auch hier sollte wieder eine "0" stehen.
  106.  
  107. Surfaces:
  108.    Der hier eingetragene Wert ist eigentlich egal, muß aber größer als Null
  109.    sein.
  110.  
  111. BlocksPerTrack:
  112.    Auch  dieser  Wert  muß  größer  als  Null sein.  Praktisch ist es, wenn
  113.    Surfaces*BlocksPerTrack   128  ergibt.   Dann   nämlich  entspricht  ein
  114.    Cylinder den Adress-Bits 23 bis 16, so daß man bei Diskettenmonitoren im
  115.    Cylinder  nur noch die ersten beiden Hex-Ziffern eingeben muß, um an die
  116.    entsprechende Adresse zu gelangen.
  117.  
  118.    Eine Kickstart (bis 1.3) beispielsweise liegt bei $FC0000.  Cylinder $FC
  119.    (Head  0,  Sector  0)  spricht  dann  genau diese Adresse an (siehe auch
  120.    LowCyl und HighCyl).
  121.  
  122. Priority:
  123.    Hierbei  handelt es  sich  um die Priorität, mit der der Handler-Prozess
  124.    gestartet  wird.   Sie  liegt für gewöhnliche Amiga-File-Systeme bei 10.
  125.    Da  dieser  Handler nicht sehr viel zu tun hat, sollte er eine Priorität
  126.    von 7 erhalten.
  127.  
  128. Reserved:
  129.    Normalerweise  ist  hier  die Anzahl der Bootblöcke angegeben.  Da diese
  130.    "Diskette"  über  keine  Bootblöcke  verfügt,  sollte eine "0" angegeben
  131.    werden.
  132.  
  133. Interleave:
  134.    Hier sollte eine "0" stehen.
  135.  
  136. LowCyl:
  137.    Hier  kann die Anfangsadresse der "Diskette" angegeben werden.  Wenn man
  138.    den    Wert,   der   hier   steht,   mit   "Surfaces*BlocksPerTrack*512"
  139.    multipliziert,  so  erhält man die Adresse des ersten Bytes, auf das man
  140.    zugreifen  kann.   Um  auf  den  gesamten  Speicherbereich  zugreifen zu
  141.    können, sollte man hier eine "0" eintragen.
  142.  
  143. HighCyl:
  144.    Entspricht  im  Wesentlichen  "LowCyl",  jedoch wird hier die Endadresse
  145.    angegeben.  Für normale Amigas empfiehlt sich der Wert "255", so daß der
  146.    gesamte  Speicher,  bis  zur Endadresse der Kickstart, bearbeitet werden
  147.    kann.   Für  Amigas,  die  mit einem 68012 oder größer aufgerüstet sind,
  148.    kann  der Wert auf "65535" erhöht werden.  Wenn dann jedoch ein Programm
  149.    Speicher  für  die  Bitmap der "Diskette" belegen muß, braucht der Amiga
  150.    mindestens 1MB freien Speicher.
  151.  
  152. Buffers:
  153.    Dieser  Wert  wird  vom Dummy-Handler ignoriert und kann beliebig belegt
  154.    werden.
  155.  
  156. BufMemType:
  157.    Das  sind  die  Memory-Flags  für  den  Speicher,  in den das map.device
  158.    schreiben kann.  Da das map.device in jede Art Speicher schreibt, sollte
  159.    hier "1" (MEMF_PUBLIC) stehen.
  160.  
  161. Mount:
  162.    Je  nachdem, ob das FileSystem sofort oder erst bei der ersten Benutzung
  163.    gestartet werden soll, muß hier "1" oder "0" stehen.
  164.  
  165. GlobVec:
  166.    Da  es  sich  hierbei nicht um ein BCPL-Programm handelt, wird eine "-1"
  167.    eingetragen.  Wer etwas anderes einträgt, braucht sich nicht zu wundern,
  168.    wenn die Maschine crasht!
  169.  
  170. StackSize:
  171.    Hier  steht  die  Größe des Stacks, der für den Handler-Prozess angelegt
  172.    wird.  Für den Dummy-Handler sind 512 Bytes mehr als genug.
  173.  
  174.  
  175. 3. Funktionsweise:
  176. ------------------
  177.  
  178. Das map.device ist ein blockorientiertes Device.  Das heißt, daß es nur mit
  179. Vielfachen  von  512  Bytes  umgehen kann.  Bei Read oder Write werden also
  180. immer  komplette Blöcke gelesen und geschrieben.  Deshalb ist es auch nicht
  181. möglich,  nur  einzelne  Bytes  zu schreiben.  Aus diesem Grunde sollte man
  182. nicht in den Bereich der Customchips schreiben oder sie auslesen, auch wenn
  183. man  nur  "erlaubte"  Words  ändert/liest.   Wer  es  trotzdem  tut, ist an
  184. eventuellen Abstürzen des Rechners selber schuld!
  185.  
  186. Bereiche, die man meiden sollte sind:
  187.  
  188. $B00000 bis $E00000
  189. $E80000 bis $F00000
  190.  
  191. Der erste dieser Bereiche ist bei den momentanen Amiga-Versionen zwar nicht
  192. völlig belegt, in zukünftigen Versionen ist aber damit zu rechnen, daß auch
  193. hier Customchips liegen können.
  194.  
  195. In  den  zweiten  Bereich  können  AUTOCONFIG(TM)-Karten  mit  IO-Bereichen
  196. hinkonfiguriert worden sein.  Wer trotzdem hier hineinschreibt, sollte sich
  197. schon  SEHR  gut  mit  seinem Rechner auskennen, sonst schickt er eventuell
  198. ungewollt Befehle wie Format an seine Festplatte oder ähnliches.
  199.  
  200.  
  201. 4. Dummy-Handler und Ram-Disk
  202. -----------------------------
  203.  
  204. Damit  das  Device  überhaupt  gemountet  werden  kann,  braucht man  einen
  205. File-Handler.  "Gewöhnliche" File-Handler haben jedoch die hier unangenehme
  206. Angewohnheit,  sich  überall  einmischen  zu  wollen,  und  aktivieren  zum
  207. Beispiel  den Disk-Validator, der hier versuchen könnte, den Speicher so zu
  208. "reparieren",  daß er wie eine Diskette aussieht.  Was das für Folgen haben
  209. würde, kann sich jeder selber ausrechnen.
  210.  
  211. Damit  das  eben  nicht  passiert,  entstand  der  Dummy-Handler,  der  mit
  212. Sicherheit  nicht  auf  das  Device  zugreift,  sondern sich schön still im
  213. Hintergrund hält.
  214.  
  215. Wer  jedoch  einen  unangemeldeten Speicherbereich - wie oben erwähnt - als
  216. Ramdisk  verwenden möchte, darf in der Mountlist als "FileSystem" nicht den
  217. Dummy-Handler eintragen, da hier ja nichts passieren würde.  Je nachdem, ob
  218. man mit dem alten Filesystem oder dem Fastfilesystem arbeiten möchte, trägt
  219. man  stattdessen  entweder gar nichts ein, oder "L:FastFileSystem".  (Unter
  220. AmigaDOS  2.0  sollte  man nicht einmal das tun.  Es reicht als DosType für
  221. das  alte Filesystem "0x444F5300" und beim FFS "0x444F5301" anzugeben.) Bei
  222. der  Verwendung  des alten Filesystems  unter  KickStart 1.3 muß zusätzlich
  223. der Eintrag "Globvec=-1" gelöscht werden.
  224.  
  225. Wenn  man ein "richtiges" Filesystem benutzen möchte, sollte man die Anzahl
  226. der  Puffer  ("Buffers")  auf  einen  Wert  von  ca.  5 heraufsetzen, sonst
  227. verringert sich die Zugriffszeit unnötig.
  228.  
  229.